﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using mamnontuoitho7.AppCode;
using System.Data;
using System.IO;

namespace mamnontuoitho7.backend
{
    public partial class KidCreate : System.Web.UI.Page
    {

        protected Kid _kid = new Kid();
        protected General _general = new General();
        private ThumbnailClass _thumbnailClass = new ThumbnailClass();
        private Class _class = new Class();
        protected DataRow _dtrKid;


        protected void Page_Load(object sender, EventArgs e)
        {
            //Check Role Admin
            if (Session["memberID"].ToString() != "" && (ConstantClass.permissionInfo).IndexOf(Session["role"].ToString() + ",") != -1)
            {


                if (Request.QueryString["hidParentID"] != null && Request.QueryString["hidParentName"] != null)
                {
                    hidParentName.Value = Request.QueryString["hidParentName"].ToString();
                    hidParentID.Value = Request.QueryString["hidParentID"].ToString();
                }
                else
                {

                    Response.Redirect(ConstantClass._errorAdminPage + "?lblNotice=noparent");
                }
                if (!IsPostBack)
                {
                    try
                    {
                        loadClassList();
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                        Response.Redirect(ConstantClass._errorAdminPage);
                    }
                }

            }
            else
            {
                Response.Redirect(ConstantClass._errorLoginPage);
            }
        }


        protected void btnKidCreate_Click(object sender, EventArgs e)
        {
            try
            {
                if (Request.QueryString["hidParentID"] != null && Request.QueryString["hidParentName"] != null)
                {
                    if (fulKidAvatar.FileName != "" || fulKidAvatar.FileName == null)
                    {
                        if (fulKidAvatar.FileBytes.Count() / 1024 > 6144)
                        {
                            lblNotice.Visible = true;
                            lblNotice.Text = "Dung lượng hình ảnh phải dưới 6MB.";
                            return;
                        }
                    }


                    int maxkidID = _kid.CreateKid(Request.QueryString["hidParentID"].ToString(),
                                                    ddlClass.SelectedValue,
                                                    txtKidFirstName.Text.Trim(),
                                                    txtKidLastName.Text.Trim(),
                                                    ddlSex.SelectedValue,
                                                    txtKidBirthday.Text.Trim(),
                                                    txtMotherName.Text.Trim(),
                                                    txtFatherName.Text.Trim());

                    if (maxkidID > 0)
                    {
                        if (fulKidAvatar.FileName != "" || fulKidAvatar.FileName == null)
                        {
                            string avatar = txtKidLastName.Text.Trim() + "-" + txtKidFirstName.Text.Trim() + "-" + maxkidID;

                            avatar = _thumbnailClass.UploadImage2(fulKidAvatar, Request.PhysicalApplicationPath + "images/avatar/kid/", avatar, 128, 128, "");

                            if (avatar == "")
                            {
                                lblNotice.Visible = true;
                                lblNotice.Text = "Thông tin bé mới đã được tạo nhưng hình của bé không thể upload được. File hình chỉ hỗ trợ những file: jpg, jpeg, gif, png, bmp, tiff";
                            }
                            else
                            {
                                _kid.UpdateAvatar(maxkidID, avatar);
                                lblNotice.Visible = true;
                                lblNotice.Text = "Thông tin của bé mới đã được nhập vào hệ thống";
                            }
                        }
                        else
                        {
                            lblNotice.Visible = true;
                            lblNotice.Text = "Thông tin của bé mới đã được nhập vào hệ thống";
                        }

                        resetKidCreate();
                    }
                    else
                    {
                        lblNotice.Visible = true;
                        lblNotice.Text = "Có lỗi hệ thống không thể cập nhật được.";
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Response.Redirect(ConstantClass._errorAdminPage);
            }

        }

        protected void btnCancle_Click(object sender, EventArgs e)
        {
            try
            {

                resetKidCreate();
                lblNotice.Visible = false;

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Response.Redirect(ConstantClass._errorAdminPage);
            }
        }



        /// <summary>
        /// Reset Teacher information
        /// </summary>
        private void resetKidCreate()
        {
            txtKidFirstName.Text = "";
            txtKidLastName.Text = "";
            txtKidBirthday.Text = "";
            txtFatherName.Text = "";
            txtMotherName.Text = "";
            ddlSex.SelectedIndex = 0;
            ddlClass.SelectedIndex = 0;
        }


        /// <summary>
        /// Load Class List and put in Dropdownlist
        /// </summary>
        private void loadClassList()
        {
            DataTable dttClass = _class.GetClassList("0");
            ddlClass.DataSource = dttClass;
            ddlClass.DataTextField = "ClassName";
            ddlClass.DataValueField = "ClassID";
            ddlClass.DataBind();
        }

    }
}